aboutsummaryrefslogtreecommitdiff
Build instructions for Ubuntu:
0) apt-get install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi
1) export ARMGCC_DIR=/usr
   cd ../KSDK_1.2.0/lib/ksdk_platform_lib/armgcc/KL27Z4
   ./build_all.sh
   cd -
2) cd ../KSDK_1.2.0/usb/usb_core/device/build/armgcc/usbd_sdk_frdmkl27z_bm
   ./build_all.sh
   cd -
3) ./build_debug.sh -DBADGE_V=2 -or- ./build_release.sh -DBADGE_V=2
   or -DBADGE_V=1 for V1 hardware

Load instructions Kinetis Bootloader:
0) Download the Kinetis Bootloader[0]. (registration required)
1) Extract that huge zip and find the blhost executable for your OS in the bin directory.
2) Boot your badge into the ROM boot-loader by holding the direction pad UP while pressing reset.
3) It should show up as a USB-HID device.
4) Execute:
   blhost -u -- flash-erase-region 0 0x20000
   blhost -u -- write-memory 0 hello_world.bin
5) Load graphics if desired:
   blhost -u -- flash-erase-region 0x20000 0x7800
   blhost -u -- write-memory 0x20000 aha.im1
   blhost -u -- write-memory 0x21800 dc24.im1
   blhost -u -- write-memory 0x23000 my_name_is.im1
   blhost -u -- write-memory 0x24800 longhorn_lockpicking.im1
   blhost -u -- write-memory 0x26000 threatbutt.im1
6) Reset the badge or:
   blhost -u -- reset

Load instructions for openocd:
0) openocd
   in another terminal:
   telnet localhost 4444
   reset halt
1) in another terminal:
   gdb-multiarch -x gdb.init debug/hello_world.elf
   gdb) load
   gdb) monitor reset

Creating graphics:
0) V1: Create a 232 x 128 black and white (not greyscale) image
   V2: Create a 264 x 176 black and white (not greyscale) image
1) Use gimp to convert it to "SUN Rasterfile image" with the extension .im1
2) Choose Standard Data Formatting, not RunLength Encoded

Load images with dd:
0) Plug the badge in to your computer's USB port
1) Note the five USB drives that appear
2) dd (on Linux/BSD/OSX?) or rawrite (on Winblows) images to those drives
   Example:
   dd if=image0.im1 of=/dev/sdb
   dd if=image1.im1 of=/dev/sdc
   dd if=image2.im1 of=/dev/sdd
   dd if=image3.im1 of=/dev/sde
   dd if=image4.im1 of=/dev/sdf

[0] https://www.nxp.com/kboot